package cn.ljy.uem.interceptor.aop;


import cn.ljy.uem.service.SchoolTeacherCourseService;
import cn.ljy.uem.service.SchoolTeacherService;
import lombok.extern.slf4j.Slf4j;
import org.aspectj.lang.annotation.Aspect;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

/**
 * 用于教师权限的一个拦截
 * 说明：
 * 由于要记录IP地址，所以放在web层。
 * 相对业务层拦截的路径要多一些，但是也少去一些比必要的判断（如本不是执行登陆，也执行了login的方法）
 */
@Aspect
@Component
@Slf4j
public class SchoolTeacherAspect{

    @Autowired
    private SchoolTeacherService schoolTeacherService;
    @Autowired
    private SchoolTeacherCourseService schoolTeacherCourseService;

    /**
     * 对需要教师课程权限才能访问的教师名下课程、资源、班级等进行管理
     * 说明：
     * @param jp
     */
/*    @Before("execution(* cn.ljy.uem.service.impl.ISchoolCourseResourceService.*(..))")
//    @Before("execution(* cn.ljy.authority.service.impl.ISysUserService.*.*(..))" +
//            "||execution(* cn.ljy.uem.service.SchoolCourseResourceService.*(..))"+
//            "||execution(* cn.ljy.uem.service.SchoolCourseResourceService.*(..))")
    public void afterLogin(JoinPoint jp) throws Exception {
        //被切入的类名
        String className = jp.getSignature().getDeclaringType().getSimpleName();
        //遍历拦截方法的参数名
        Object[] args=jp.getArgs();
        for (int i = 0; i < args.length; i++) {
            if(args[i] instanceof SchoolCourseResource){//如果参数是购物车类。反之，如果是第一次购物，则为NULL，本条件不会触发。
                SchoolCourseResource schoolCourseResource=(SchoolCourseResource)args[i];
            }
        }
    }*/
}
